package com.ihr360.payroll.service.salaryprofile;

import com.ihr360.alps.ServiceDescriptor;
import com.ihr360.commons.vo.ResultInfo;
import com.ihr360.payroll.entity.staff.CompanySalaryProfileEntity;
import com.ihr360.payroll.model.dto.salary.profile.CompanySalaryProfile;
import com.ihr360.rest.service.SimpleRestService;

public interface CompanySalaryProfileService extends SimpleRestService<CompanySalaryProfile, Long> {

    /**
     * 添加　公司薪资档案字段
     *
     * @param code
     * @return
     */
    Boolean addProfileField(String code);

    /**
     * 初始化公司薪资方案
     *
     * @param companyId
     * @return
     */
    ResultInfo initCompanySalaryProfile(String companyId);

    /**
     * 初始化所有公司薪资方案
     *
     * @return
     */
    ResultInfo batchInitCompanySalaryProfile();

    CompanySalaryProfileEntity getByCompanyId(String companyId);

    /**
     * 根据公司获取公司薪资档案数据，没有则新建
     *
     * @return
     */
    CompanySalaryProfile getOrCreateByCompanyId();


    CompanySalaryProfile getOrCreateByCompanyId(String companyId);


    CompanySalaryProfile getCompanySalaryProfile(String companyId);

    /**
     * 获取公司员工薪资引用服务
     *
     * @param companyId
     * @return
     */
    ServiceDescriptor serviceDescriptor(String companyId);
}
